function ebcdic = ascii2ebcdic(ascii)
%
% function ebcdic = ascii2ebcdic(ascii)
%
% NOTE: This SOFTWARE may be used by any individual or corporation for any purpose
% with the exception of re-selling or re-distributing the SOFTWARE.
% By using this software, you are agreeing to the terms detailed in this software's
% Matlab source file.

% BEGIN TERMS OF USE LICENSE
%
% This SOFTWARE is maintained by the CREWES Project at the Department
% of Geology and Geophysics of the University of Calgary, Calgary,
% Alberta, Canada.  The copyright and ownership is jointly held by
% its 'AUTHOR' (identified above) and the CREWES Project.  The CREWES
% project may be contacted via email at:  crewesinfo@crewes.org
%
% The term 'SOFTWARE' refers to the Matlab source code, translations to
% any other computer language, or object code
%
% Terms of use of this SOFTWARE
%
% 1) This SOFTWARE may be used by any individual or corporation for any purpose
%    with the exception of re-selling or re-distributing the SOFTWARE.
%
% 2) The AUTHOR and CREWES must be acknowledged in any resulting publications or
%    presentations
%
% 3) This SOFTWARE is provided "as is" with no warranty of any kind
%    either expressed or implied. CREWES makes no warranties or representation
%    as to its accuracy, completeness, or fitness for any purpose. CREWES
%    is under no obligation to provide support of any kind for this SOFTWARE.
%
% 4) CREWES periodically adds, changes, improves or updates this SOFTWARE without
%    notice. New versions will be made available at www.crewes.org .
%
% 5) Use this SOFTWARE at your own risk.
%
% END TERMS OF USE LICENSE

% Converts ASCII-encoded text to EBCDIC-encoded text.

table= [...
           1,    2,    3,   55,   45 ,  46,   47,   22, ...
           5,   37,   11,   12,   13,   14,   15,   16,   17,   18, ...
          19,   60,   61,   50,   38,   24,   25,   63,   39,   28, ...
          29,   30,   31,   64,   79,  127,  123,   91,  108,   80, ...
         125,   77,   93,   92,   78,  107,   96,   75,   97,  240, ...
         241,  242,  243,  244,  245,  246,  247,  248,  249,  122, ...
         94,    76,  126,  110,  111,  124,  193,  194,  195,  196, ...
         197,  198,  199,  200,  201,  209,  210,  211,  212,  213, ...
         214,  215,  216,  217,  226,  227,  228,  229,  230,  231, ...
         232,  233,   74,  224,   90,   95,  109,  121,  129,  130, ...
         131,  132,  133,  134,  135,  136,  137,  145,  146,  147, ...
         148,  149,  150,  151,  152,  153,  162,  163,  164,  165, ...
         166,  167,  168,  169,  192,  106,  208,  161,    7,   63, ...
         63,    63,   63,   63,   63,   63,   63,   63,   63,   63, ...
         63,    63,   63,   63,   63,   63,   63,   63,   63,   63, ...
         63,    63,   63,   63,   63,   63,   63,   63,   63,   63, ...
         63,    63,   63,   63,   63,   63,   63,   63,   63,   63, ...
         63,    63,   63,   63,   63,   63,   63,   63,   63,   63, ...
         63,    63,   63,   63,   63,   63,   63,   63,   63,   63, ...
         63,    63,   63,   63,   63,   63,   63,   63,   63,   63, ...
         63,    63,   63,   63,   63,   63,   63,   63,   63,   63, ...
         63,    63,   63,   63,   63,   63,   63,   63,   63,   63, ...
         63,    63,   63,   63,   63,   63,   63,   63,   63,   63, ...
         63,    63,   63,   63,   63,   63,   63,   63,   63,   63, ...
         63,    63,   63,   63,   63,   63,   63,   63,   63,   63, ...
         63,    63,   63,  63,  63,  63];

ascii = double(ascii);
ascii(ascii < 1) = 32; % set funnies to a space
ascii(ascii > length(table)) = length(table);

ebcdic = char(table(ascii));